package com.fin.quant.instra.mysql.mapper;

import com.fin.quant.instra.mysql.model.UserAccount;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户账户Mapper
 */
@Mapper
public interface UserAccountMapper {
    
    /**
     * 根据用户名查询用户
     */
    UserAccount findByUsername(@Param("username") String username);
    
    /**
     * 根据邮箱查询用户
     */
    UserAccount findByEmail(@Param("email") String email);
    
    /**
     * 根据手机号查询用户
     */
    UserAccount findByPhone(@Param("phone") String phone);
    
    /**
     * 根据ID查询用户
     */
    UserAccount findById(@Param("id") Long id);
    
    /**
     * 插入用户
     */
    int insert(UserAccount userAccount);
    
    /**
     * 更新用户
     */
    int update(UserAccount userAccount);
    
    /**
     * 更新最后登录信息
     */
    int updateLastLogin(@Param("id") Long id, 
                       @Param("lastLoginTime") String lastLoginTime, 
                       @Param("lastLoginIp") String lastLoginIp);
}
